One conventional approach to defect detection is by human inspection. In such approaches, a human operator may need to examine each image of an industrial product to identify a defective area, or areas, and to manually label the defects. This human process may depend heavily on the skills and expertise of the operator. Additionally, the time required to process different images may be significantly different, which may cause a problem for a mass-production pipeline. Furthermore, the working performance may vary considerably between human operators and may drop quickly over time due to operator fatigue.
Other conventional approaches to defect detection may comprise image template matching, for example, phase correlation in the image frequency domain and normalized cross correlation in the spatial image domain. However, these methods may be sensitive to image noise, contrast change and other common imaging degradations and inconsistencies. Perhaps more importantly, these methods cannot handle the situation when a model image is geometrically transformed due to camera motion and different operating settings.
Robust and automatic methods, systems and apparatus that can perform defect detection on different images in substantially the same amount of time and at substantially the same level of accuracy may be desirable. Additionally, a method, system and apparatus that can learn from previous input and improve its performance automatically may also be desirable.